package com.pan.cuiniubi.create.dao;

import com.pan.cuiniubi.entity.*;
import com.pan.cuiniubi.enumn.LaminaEnum;
import com.pan.cuiniubi.enumn.OperationEnum;

import java.util.List;

public interface CreateDaoMapping {
    /**
     * 这个方法是生成dao文件里面的 package 字符串
     */
    public String getPackageStr();
    /**
     *  生成dao的类名
     */
    public String getClassName(String name, OperationEnum operationEnum, LaminaEnum laminaEnum);
    /**
     * 生成 导入包 部分的代码
     */
    public String getImportString(Table table);
    /**
     * 生成 dao 的方法 MethodInfo
     */
    public List<MethodInfo> getMethodInfo(Table table);
    /**
     * 生成 dao的信息 daoinfo
     * */
    public DaoInfo getDaoInfo(Table table);

    /**
     * 生成内容
     */
    public String getDaoContent(DaoInfo daoInfo);

    public String getMappingContent(MappingInfo mappingInfo);
    public List<SqlInfo> getSqlInfo(Table table);
    public MappingInfo getMappingInfo(Table table);
}
